Redeye is the appearance of an unnatural reddish coloration of the pupils of a person appearing in an image captured by a camera with flash illumination. Redeye is caused by light from the flash reflecting off blood vessels in the person's retina and returning to the camera.
A large number of image processing techniques have been proposed to detect and correct redeye in color images. In general, these techniques typically are semi-automatic (e.g., manually-assisted) or automatic. Semi-automatic redeye detection techniques rely on human input. For example, in some semi-automatic redeye reduction systems, a user manually identifies to the system the areas of an image containing redeye before the defects can be corrected. Many automatic redeye reduction systems rely on a preliminary face detection step before redeye areas are detected. A common automatic approach involves detecting faces in an image and, subsequently, detecting eyes within each detected face. After the eyes are located, redeye is identified based on shape, coloration, and brightness of image areas corresponding to the detected eye locations.
There are several products available for correcting redeye in existing images. These products typically operate on electronic, i.e., digital, representations of the images. Some redeye correction software products require a user to first display the image on his or her computer's monitor. In some of these products, the user manipulates a pointing device, such as a mouse, to “paint” over the occurrences of redeye in the displayed image. Correction of redeye using these products is often time-consuming and user-intensive. In addition, the results are often poor, sometimes looking even worse than the original occurrences of redeye. Another potential problem associated with a manually-assisted redeye correction tool is that erroneously entered user data can lead to damaging effects. Thus, it would be desirable to provide a manually-assisted redeye correction system that balances the information input by a user with automatic checks and other processes to promote robustness.
Fully-automatic redeye removal technologies are provided in some photo management systems. In many cases, the fully-automatic algorithms are configured, or trained, using a set of examples of redeye images and non-redeye images. However, in a large scale system, such as one that receives millions of images per day, there can be some images that fall outside the class defined by any training set used to configure the algorithm. In addition, for robustness, an automatic solution would need a face detector capable of locating faces in non-standard poses and at non-standard orientations. Existing face detection solutions, however, do not typically detect all faces in images that contain redeye artifacts due to computational constraints. In some systems, a considerable percent of images that contain faces with redeye artifacts can remain undetected.
For these and other reasons, a need exists for the present invention.